edad532fb2f5c85bf7e23ac9e11d80722b36d34d,src/org/exist/xquery/functions/FunGetDateComponent.java,FunGetDateComponent,eval,#Sequence#Item#,90
Before Change
result = Sequence.EMPTY_SEQUENCE;
else {
DateValue date = (DateValue) arg.itemAt(0);
if (isCalledAs("day-from-date"))
result = new IntegerValue(date.getPart(DateValue.DAY), Type.INTEGER);
else if (isCalledAs("month-from-date"))
result = new IntegerValue(date.getPart(DateValue.MONTH), Type.INTEGER);
After Change
}
Sequence result;
if (args.length == 0 || args[0].isEmpty()) {
result = Sequence.EMPTY_SEQUENCE;
} else {
Sequence arg = args[0];
AbstractDateTimeValue date = (AbstractDateTimeValue) arg.itemAt(0);
if (isCalledAs("day-from-dateTime") || isCalledAs("day-from-date")) {
result = new IntegerValue(date.getPart(DateValue.DAY), Type.INTEGER);
} else if (isCalledAs("month-from-dateTime") || isCalledAs("month-from-date")) {
result = new IntegerValue(date.getPart(DateValue.MONTH),
Type.INTEGER);
} else if (isCalledAs("year-from-dateTime") || isCalledAs("year-from-date")) {
result = new IntegerValue(date.getPart(DateValue.YEAR),
Type.INTEGER);
} else if (isCalledAs("hours-from-dateTime") || isCalledAs("hours-from-time")) {
result = new IntegerValue(date.getPart(DateValue.HOUR),
Type.INTEGER);
} else if (isCalledAs("minutes-from-dateTime") || isCalledAs("minutes-from-time")) {
result = new IntegerValue(date.getPart(DateValue.MINUTE),
Type.INTEGER);
} else if (isCalledAs("seconds-from-dateTime") || isCalledAs("seconds-from-time")) {
long millis = date.getPart(DateValue.SECOND) * 1000L + date.getPart(DateValue.MILLISECOND);
result = new DecimalValue(millis / 1000D);
} else if (isCalledAs("timezone-from-dateTime") || isCalledAs("timezone-from-date") || isCalledAs("timezone-from-time")) {
result = date.getTimezone();
} else {